Stackless Python
part 3/4 · 5.8 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
En raison du nombre considérable de modifications dans la source, Stackless Python ne peut pas être installé sur une installation Python préexistante en tant qu'extension ou bibliothèque. Il s'agit plutôt d'une distribution Python complète en soi. La majorité des fonctionnalités de Stackless ont également été implémentées dans PyPy, un interpréteur Python auto-hébergé et un compilateur JITcite-ref-3[3].
Utilisation
Bien que l'ensemble Stackless soit une distribution distincte, sa fonctionnalité de commutation a été empaquetée avec succès sous la forme d'une extension CPython appelée greenletcite-ref-4[4]. Il est utilisé par un certain nombre de bibliothèques (par exemple geventcite-ref-5[5]) pour fournir une solution de threading verte pour CPython. Python a depuis reçu une solution native pour les threads verts : wait/async.
Stackless est largement utilisé dans la mise en œuvre du jeu en ligne massivement multijoueur Eve Online ainsi que dans la plate-forme de messagerie d'IronPort.
Notes et références
cite-note-11. ↑ sweigart2015al-sweigart2015Al Sweigart, Automate the Boring Stuff with Python, No Starch Press, 2015 (lire en ligne)
cite-note-22. ↑ « About Stackless » (consulté le 26 août 2016) : « a round robin scheduler is built in. It can be used to schedule tasklets either cooperatively or preemptively. »
cite-note-33. ↑ « Application-level Stackless features — PyPy documentation », sur pypy.readthedocs.org
cite-note-44. ↑ « greenlet: Lightweight concurrent programming — greenlet 0.4.0 documentation », sur greenlet.readthedocs.org
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────